package com.yygo;


/**
 * Constant values used throughout the application.
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 */
public final class Constants {

    private Constants() {
        // hide me
    }
    //~ Static fields/initializers =============================================

    /**
     * Assets Version constant
     */
    public static final String ASSETS_VERSION = "assetsVersion";
    /**
     * The name of the ResourceBundle used in this application
     */
    public static final String BUNDLE_KEY = "ApplicationResources";

    /**
     * File separator from System properties
     */
    public static final String FILE_SEP = System.getProperty("file.separator");

    /**
     * User home from System properties
     */
    public static final String USER_HOME = System.getProperty("user.home") + FILE_SEP;

    /**
     * The name of the configuration hashmap stored in application scope.
     */
    public static final String CONFIG = "appConfig";

    /**
     * Session scope attribute that holds the locale set by the user. By setting this key
     * to the same one that Struts uses, we get synchronization in Struts w/o having
     * to do extra work or have two session-level variables.
     */
    public static final String PREFERRED_LOCALE_KEY = "org.apache.struts2.action.LOCALE";

    /**
     * The request scope attribute under which an editable user form is stored
     */
    public static final String USER_KEY = "userForm";

    /**
     * The request scope attribute that holds the user list
     */
    public static final String USER_LIST = "userList";

    /**
     * The request scope attribute for indicating a newly-registered user
     */
    public static final String REGISTERED = "registered";

    /**
     * The name of the Administrator role, as specified in web.xml
     */
    public static final String ADMIN_ROLE = "ROLE_ADMIN";
    public static final String DEALER_ADMIN_ROLE = "ROLE_DEALER_ADMIN";
    public static final String Bank_ADMIN_ROLE = "ROLE_Bank_ADMIN";
    public static final String Bond_ADMIN_ROLE = "ROLE_Bond_ADMIN";
    public static final String DEALER_USER_ROLE = "ROLE_DEALER_USER";
    public static final String CC_ROLE = "ROLE_CC";
    public static final String CA_ROLE = "ROLE_CA";
    public static final String SCA_ROLE = "ROLE_SCA";
    public static final String Booking_ROLE = "ROLE_Booking";
    public static final String Insurance_ROLE = "ROLE_Insurance";
    public static final String Bond_USER_ROLE = "ROLE_Bond_USER";
    public static final String Bank_USER_ROLE = "ROLE_Bank_USER";
    public static final String Bank_CREDIT_ROLE = "ROLE_Bank_CREDIT";
    public static final String Bank_TELLER_ROLE = "ROLE_Bank_TELLER";
    public static final String Bank_MANAGER_ROLE = "ROLE_Bank_MANAGER";
    public static final String TELLER_ROLE = "ROLE_TELLER";
    public static final String MANAGER_ROLE = "ROLE_MANAGER";
    public static final String Material_Receive_ROLE = "ROLE_M_RECEIVE";
    public static final String Material_Audit_ROLE = "ROLE_M_AUDIT";
    public static final String Material_Print_ROLE = "ROLE_M_PRINT";
    public static final String DayInMonth = "DayInMonth";
    /**
     * The name of the user's role list, a request-scoped attribute
     * when adding/editing a user.
     */
    public static final String USER_ROLES = "userRoles";

    /**
     * The name of the available roles list, a request-scoped attribute
     * when adding/editing a user.
     */
    public static final String AVAILABLE_ROLES = "availableRoles";
    public static final String AVAILABLE_DEALER_REQUEST_STATUS = "REQUEST_STATUS_DEALER";
    public static final String AVAILABLE_LOAN_REQUEST_STATUS = "REQUEST_STATUS_LOAN";

    /**
     * The name of the CSS Theme setting.
     * @deprecated No longer used to set themes.
     */
    public static final String CSS_THEME = "csstheme";


    // Application constants
    public static final String REQUEST_STATUS = "REQUEST_STATUS";
    public static final String FEEDBACK_STATUS = "FEEDBACK_STATUS";
    public static final String COMPANY_NATURE = "COMPANY_NATURE";
    public static final String INDUSTRY_TYPE="INDUSTRY_TYPE";
    public static final String GENDER = "GENDER";
    public static final String ID_TYPE = "ID_TYPE";
    public static final String LOAN_TYPE = "LOAN_TYPE";
    public static final String MAIL_TYPE = "MAIL_TYPE";
    public static final String MARITAL_STATUS = "MARITAL_STATUS";
    public static final String PROPERTY_TYPE = "PROPERTY_TYPE";
    public static final String WORK_POSITION = "WORK_POSITION";
    public static final String EDUCATION_LEVEL = "EDUCATION_TYPE";
    public static final String LOAN_YEARS = "LOAN_YEARS";
    public static final String OCCUPATION_TYPE = "OCCUPATION_TYPE";

    public static final String ROLES = "ROLE";
    public static final String ROLES_DEALER = "ROLE_DEALER";

    public static final String RISK_RANK = "RISK_RANK";
    public static final String RISK_LOW = "Low";
    public static final String RISK_MEDIUM = "Medium";
    public static final String RISK_HIGH = "High";


    public static final String MSG_TYPE_RULE = "rule";
    public static final String MSG_TYPE_MESSAGE_CONFIRM_COVER = "message_confirm_cover";
    public static final String MSG_TYPE_MESSAGE_QUALIFICATION_AUDIT = "message_qualification_audit";
    public static final String MSG_TYPE_MESSAGE_UPLOAD_POLICY = "message_upload_policy";
    public static final String MSG_TYPE_AUTO_AUDIT = "auto_audit";

    public static final String MSG_TYPE_GRAB_TICKET = "grab_ticket";

    public static final String STATUS_PENDING = "pending";
    public static final String STATUS_APPROVED = "approved";
    public static final String STATUS_TRANSFERRED = "transferred";
}
